/* 

整数反转
给你一个 32 位的有符号整数 x ，返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ，就返回 0。

假设环境不允许存储 64 位整数（有符号或无符号）。
 

示例 1：

输入：x = 123
输出：321
示例 2：

输入：x = -123
输出：-321
示例 3：

输入：x = 120
输出：21
示例 4：

输入：x = 0
输出：0

链接：https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnx13t/

*/

var reverse = function(x) {
  let res = 0;
  while(x != 0) {
      res = res * 10 + (x % 10)
      // parseInt()方法取整数
      x = parseInt(x/10)
  }
  return res ? res : 0
}

// 不允许栈溢出
var reverse = function(x) {
  let res = 0;
  const MAX_VALUE = Math.pow(2, 31) - 1;
  const MIN_VALUE = MAX_VALUE * -1;
  while(x != 0) {
      res = res * 10 + (x % 10)
      // 判断栈溢出的情况
      if(res > MAX_VALUE || res < MIN_VALUE) return 0;
      // parseInt()方法取整数
      x = parseInt(x/10)
  }
  return res ? res : 0
}
console.log(reverse(123123))
